package com.snail.controller;

import com.snail.model.pojo.mall.BizProductCategory;
import com.snail.result.Result; // 引入统一响应类
import com.snail.service.IBizProductCategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;

@RestController
@RequestMapping("/category") // 接口前缀，可根据业务调整
public class BizProductCategoryController {

    @Autowired
    private IBizProductCategoryService categoryService;

    /**
     * 接口1：查询所有分类（扁平结构）
     * @return 统一响应体，数据为分类列表
     */
    @GetMapping("/list")
    public Result<List<BizProductCategory>> listAll() {
        List<BizProductCategory> categories = categoryService.listAllCategories();
        return Result.success(categories); // 调用统一响应类的成功方法
    }

    /**
     * 接口2：查询分类树（层级结构，直接用于前端Tree组件）
     * @return 统一响应体，数据为分类树
     */
    @GetMapping("/tree")
    public Result<List<BizProductCategory>> listTree() {
        List<BizProductCategory> categoryTree = categoryService.listCategoryTree();
        return Result.success(categoryTree); // 统一响应封装
    }
}
